<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      // 美 /əˈsaɪn/
      // 语法：
      // Object.assign(target, ...sources)
      // 作用： 对象的浅拷贝
      // target : 目标对象
      // sources: 源对象
      // 返回值：目标对象。

      const obj = {}; //目标对象
      const o = { name: "tom", age: 55 }; //源对象

      const res = Object.assign(obj, o);
      console.log(res);
      console.log(obj); // 目标对象被修改了

      // 应用: 合并对象
      const o1 = { a: 1 };
      const o2 = { a: 2 };
      const o3 = { a: 3 };

      const res2 = Object.assign(o1, o2, o3);
      console.log(res2);
      console.log(o1 === res2); //返回值就是目标对象  true
      console.log(o2 === res2); //返回值就是目标对象  false
      console.log(o3 === res2); //返回值就是目标对象  false
      console.log(o2); // 2
      console.log(o3); // 3
    </script>
  </body>
</html>
